//webpack配置
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path')
const {VueLoaderPlugin} = require('vue-loader')

module.exports = {
    mode: 'production',
    entry:'./src/main.js',//文件入口
    output:{
        path:path.resolve(__dirname,'dist'),//必须是绝对路径，且必须动态获得，因为部署发布，环境一定有变化
        filename:'bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.css$/i,
                use: ['style-loader', 'css-loader'],
            },
            {
                test: /\.less$/i,
                use: [
                // compiles Less to CSS
                'style-loader',
                'css-loader',
                'less-loader',
                ],
            },
            {
                test: /\.vue$/i,
                use:'vue-loader',//处理vue文件
            },
            {
                test: /\.(png|svg|jpg|jpeg|gif)$/i,
                type: 'asset/resource',
            },
        ],
    },
    plugins: [//存放插件
        new HtmlWebpackPlugin({
            template: 'src/index.html'
        }),
        // VueLoaderPlugin:来补充vue-loader在处理vue的时候，它处理了模板里面的html，但是它不知道怎么处理js
        new VueLoaderPlugin({
            Vue: ['vue/dist/vue.esm.js', 'default'],
        })
    ]
}